/*
 * TerminoBusqueda.h
 *
 *  Created on: 22/06/2013
 *      Author: marcos
 */


#ifndef TERMINOBUSQUEDA_H_
#define TERMINOBUSQUEDA_H_

#include <iostream>
#include "UbicacionTerminoBusqueda.h"
#include "../utiles/StringUtil.h"

using namespace std;

class TerminoBusqueda {
private:
	string termino;
	vector<UbicacionTerminoBusqueda*> ubicaciones;

public:
	TerminoBusqueda();
	string getTermino();
	void setTermino(string termino);
	vector<UbicacionTerminoBusqueda*> getUbicaciones();
	void setUbicaciones(vector<UbicacionTerminoBusqueda*> ubicaciones);
	void agregarUbicacion(UbicacionTerminoBusqueda* ubicacion);
	string toString();
	bool getDocumentos(int numDeTermino,int posRecurrente, int docRecurrente,vector<TerminoBusqueda> vectorBusqueda,int cantDeBusquedas);
	int getMaximoDoc();
	vector<unsigned int> chequearPocisiones(vector<TerminoBusqueda> vectorBusqueda);
	virtual ~TerminoBusqueda();
	vector<vector<unsigned int>* > getVectorDeSusDatos(int cantMaxDocs,vector <unsigned int>*docPosibles,int cantMaxPos,vector<vector<unsigned int>* > *posicionesEnMatch);
	int  getMaxPosicionesEndoc();
	vector<bool> getVectorSigue(vector<vector<unsigned int>* > posicionesEnDoc,vector <unsigned int> *docPosibles,int cantMaxPos,vector<vector<unsigned int>* > *posicionesEnMatch,vector<bool>sigue);
};

#endif /* TERMINOBUSQUEDA_H_ */
